//
//  CommonProtocols.h
//  LearningCocos
//
//  Created by hansangyong on 2014. 2. 19..
//  Copyright (c) 2014년 ainhan. All rights reserved.
//

#ifndef LearningCocos_CommonProtocols_h
#define LearningCocos_CommonProtocols_h

typedef enum {
    kDirectionLeft,
    kDirectionRight
} PhaserDirection;

typedef enum {
    kStateSpawning,
    kStateIdle,
    kStateCrouching,
    kStateStandingUp,
    kStateWalking,
    kStateAttacking,
    kStateJumping,
    kStateBreathing,
    kStateTakingDamage,
    kStateDead,
    kStateTraveling,
    kStateRotating,
    kStateDrilling,
    kStateAfterJumping
} CharacterStates; // 1

typedef enum {
    kObjectTypeNone,
    kPowerUpTypeHealth,
    kPowerUpTypeMallet,
    kEnemyTypeRadarDish,
    kEnemyTypeSpaceCargoShip,
    kEnemyTypeAlienRobot,
    kEnemyTypePhaser,
    kVikingType,
    kSkullType,
    kRockType,
    kMeteorType,
    kFrozenVikingType,
    kIceType,
    kLongBlockType,
    kCartType,
    kSpikesType,
    kDiggerType,
    kGroundType
} GameObjectType;

@protocol GameplayLayerDelegate

- (void)createObjectOfType: (GameObjectType)objectType
                withHealth: (int)initialHealth
                atLocation: (CGPoint)spawnLocation
                withZValue: (int)ZValue;

- (void)createPhaserWithDirection: (PhaserDirection)PhaserDirection
                      andPosition: (CGPoint)spawnPosition;


@end


#endif
